package org.layui.shop.controller;

import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import org.layui.shop.dao.ProductDao;
import org.layui.shop.dao.impl.ProductDaoImpl;
import org.layui.shop.entity.Product;

import java.io.IOException;
import java.util.List;

/**
 * 查询所有的商品信息 - 不带分页和条件查询的
 *
 * 测试 Serlvet API 的工具：Apifox、postman
 *
 * @author ZQX
 * @date 2024-12-03
 */
@WebServlet("/list_all.do")
public class ListAllProductServlet extends BaseController {
    @Override
    public void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
        req.setCharacterEncoding("UTF-8");

        // 1.获取表单中输入的数据
        // 2.验证数据的合法性 - 正则表达式（略）

        // 3.加工处理 - 业务实现
        // 3.1）实例化 DAO 对象
        ProductDao productDao = new ProductDaoImpl();

        // 3.2）调用 DAO 对象的方法，查询所有的商品信息
        List<Product> list = productDao.selectAll();

        // PageVo pageVo = new PageVo(0,list,list.size())

        // 4.响应结果 - 先数据封装到 ResponseData,然后序列为 JSON 字符串，最后响应数据
        print(res, success(list, list.size()));
    }
}
